﻿#include "FITKSEASubSysSemiInfiniteFluid.h"
#include "FITKSEASubSysCavity.h"
#include "FITK_Kernel/FITKCore/FITKDataRepo.h"

namespace Acoustics
{
    void FITKSEASubSysSEIFConnectedSubSys::setSubSysID(const int id)
    {
        _subSystemID = id;
    }

    int FITKSEASubSysSEIFConnectedSubSys::getSubSysID() const
    {
        return _subSystemID;
    }

    Acoustics::FITKAbstractSEASubSys* FITKSEASubSysSEIFConnectedSubSys::getSubSysObj()
    {
        return FITKDATAREPO->getTDataByID<Acoustics::FITKAbstractSEASubSys>(_subSystemID);
    }

    void FITKSEASubSysSEIFConnectedSubSys::setConnectPos(double * pointPos)
    {
        _connectPos[0] = pointPos[0];
        _connectPos[1] = pointPos[1];
        _connectPos[2] = pointPos[2];
    }

    void FITKSEASubSysSEIFConnectedSubSys::getConnectPos(double * pointPos)
    {
        pointPos[0] = _connectPos[0];
        pointPos[1] = _connectPos[1];
        pointPos[2] = _connectPos[2];
    }

    int FITKSEASubSysSEIFConnectedSubSys::getCavityFaceID()
    {
        return _cavityFaceID;
    }

    void FITKSEASubSysSEIFConnectedSubSys::setCavityFaceID(int cavityFaceID)
    {
        _cavityFaceID = cavityFaceID;
    }

    void FITKSEASubSysSEIFConnectedSubSys::setDistance(double distance)
    {
        _distance = distance;
    }

    double FITKSEASubSysSEIFConnectedSubSys::getDistance()
    {
        return _distance;
    }

    void FITKSEASubSysSEIFConnectedSubSys::setRadLossFactorID(int id)
    {
        _radLossFactorID = id;
    }

    int FITKSEASubSysSEIFConnectedSubSys::getRadLossFactor()
    {
        return _radLossFactorID;
    }

    Acoustics::FITKAbstractSEASubSys::SEASubSysType FITKSEASubSysSemiInfiniteFluid::getSEASubSysType()
    {
        //半无限流体
        return FITKAbstractSEASubSys::SEASemiIInfiniteFluid;
    }

    int FITKSEASubSysSemiInfiniteFluid::getNodeID() const
    {
        return _nodeID;
    }

    void FITKSEASubSysSemiInfiniteFluid::setNodeID(const int & id)
    {
        _nodeID = id;
    }

    QList<int> FITKSEASubSysSemiInfiniteFluid::getNodeIDs() const
    {
        return QList<int>{_nodeID};
    }

    bool FITKSEASubSysSemiInfiniteFluid::getIsEnabled()
    {
        return _isEnabled;
    }

    void FITKSEASubSysSemiInfiniteFluid::setIsEnabled(bool isEnabled)
    {
        _isEnabled = isEnabled;
    }

    bool FITKSEASubSysSemiInfiniteFluid::getIsOveSPLDistances()
    {
        return _isOveSPLDistances;
    }

    void FITKSEASubSysSemiInfiniteFluid::setIsOveSPLDistances(bool isOveSPLDistances)
    {
        _isOveSPLDistances = isOveSPLDistances;
    }
}



